IBIS Macromodel Task Group Meeting date: 18 June 2024 Members (asterisk for those attending): Achronix Semiconductor: Hansel Dsilva Amazon: John Yan ANSYS: * Curtis Clark * Wei-hsing Huang Aurora System: * Dian Yang Raj Raghuram Cadence Design Systems: * Ambrish Varma * Jared James Dassault Systemes: Longfei Bai Google: Hanfeng Wang GaWon Kim Intel: * Michael Mirmak Kinger Cai Chi-te Chen Liwei Zhao * Alaeddin Aydiner * Sai Zhou Keysight Technologies: Fangyi Rao Majid Ahadi Dolatsara Stephen Slater Ming Yan Rui Yang Marvell: Steve Parker Mathworks (SiSoft): * Walter Katz Graham Kus Micron Technology: Justin Butterfield Missouri S&T: Chulsoon Hwang Yifan Ding Zhiping Yang Rivos: Yansheng Wang SAE ITC: Michael McNair Siemens EDA (Mentor): * Arpad Muranyi Randy Wolff Teraspeed Labs: [Bob Ross] Zuken USA: Lance Wang The meeting was led by Arpad Muranyi. Curtis Clark took the minutes. -------------------------------------------------------------------------------- Opens: - Walter had several new topics to discuss eventually: - Use of special characters in the Executable subparameter line - Model Specific parameter names (e.g., use of reserved words such as Corner) - C_comp_corner for T-coils? - Alaeddin said he had some thoughts to share on C-phy support with AMI. ------------- Review of ARs: None. -------------------------- Call for patent disclosure: - None. ------------------------- Review of Meeting Minutes: Arpad asked for any comments or corrections to the minutes of the June 11th meeting. Arpad moved to approve the minutes. Dian seconded the motion. There were no objections. -------------- New Discussion: MIPI C-phy support in IBIS: Arpad resumed the review of his "C-phy Overview for IBIS" to help spur discussion about whether IBIS should introduce changes to support C-phy. He noted a new slide 2, which highlighted the changes in the most recent version of the MIPI C-PHY specification from 2021. He said that while his presentation was based on v2.0 from 2019, nothing in v2.1 from 2021 was different for the purposes of this discussion. slide 11: C-phy support using Submodels: Modifying Bus Hold as a starting point At the previous meeting, Fangyi had asked how Arpad's proposed use of [Model] and [Submodel] to model the C-phy Tx might work. Arpad reviewed a new slide 11. It includes text from IBIS version 7.2 defining the Bus Hold Submodel_type. Arpad said the C-phy Tx could be implemented similarly to Bus Hold. Instead of using a "buffer pad" waveform and V_trigger_r and Vtrigger_f thresholds for the triggering mechanism, we would need to add an independent stimulus signal to trigger the Submodel. slide 12: Termination at the Rx. Arpad reviewed the termination at the Rx triplet. There are 3 terminating resistors. Each wire of the triplet is connected through one resistor to a common node connected to ground via a capacitor. The three lines are connected together to a common node, not to Vdd, Vcc, Vtt, etc., as is typically done in IBIS. This termination scheme is new to IBIS, and could not be described with the [Model] keyword. However, it could be handled with the [Interconnect Model] keyword as though it were an on-die interconnect. The specification guarantees that at least one of the 3 lines will have a zero- crossing every UI, and there may be more than one that does. The eye diagram is always triggered by the first zero crossing to occur, and this trigger is for the previous UI's worth of waveform. The 3 true differential Rxs could be modeled with three instances of the [Model] keyword, but their outputs and the eye diagram would need to be processed together by the simulator. IBIS would need an additional keyword or subparameter to define the triplet of differential Rx models. Ambrish commented that most of this is outside of anything we do in IBIS. The tool will handle most of this. Arpad said this discussion was intended to review the basics of C-phy, so we can decide how or what we need to handle in IBIS. Arpad said Ambrish raised a good point about whether the model or tool would be required to handle the clock ticks. In AMI, we typically have the model returning clock ticks, but here we have 3 interrelated Rxs. Perhaps the tool would have to determine the clock ticks based on all 3 differential waveforms. This is all intended as a discussion starter. Ambrish asked whether we are talking about supporting C-phy or general multi-level signaling. Arpad said this was a good general question for this discussion. He said each C-phy Tx is basically single-ended PAM3 with lots of additional quirks. Arpad recalled that he'd once started a BIRD proposal to introduce a multi-level stimulus that could be used for PAMn models that were implemented via multi-lingual [External Model]. He said the goal here is to spur discussion of all the possibilities. Modeling possibilities: The remaining slides discuss various possibilities for modeling. Arpad highlighted: Multi-lingual: - Could model Tx and Rx devices individually, or could create more specialized models that include the entire triplets and have 3 outputs or inputs. - Could implement symbol mapping in the Tx model and eye diagram trigger extraction in the Rx model, for example. - Multi-lingual approach puts more burden on the model maker, but it may be a more agile approach if it requires fewer spec changes and allows faster implementation. - Intellectual property protection might be an issue unless we have encryption. - IBIS would still need to define a stimulus and what is returned, so the EDA tool knows what to do with these models. Specialized IBIS keywords: - We would need new keywords for "analog PAMn modeling". - May want multiple sets of I-V and V-t tables or possibly Touchstone files - Could consider adding specialized keywords to contain the entire triplet - Mapping, encoding, trigger extraction should be left to EDA tools. Analog IBIS or IBIS-AMI?: - Is the LTI assumption of AMI "good enough" for C-phy? - Supporting multi-wire signaling or chord signaling might require a major overhaul of IBIS-AMI. - Is there a need to support power-aware modeling for C-phy? - C-phy triggered eye diagram is very different from the SerDes CDR approach Alaeddin shared some thoughts on C-Phy modeling with AMI: Alaeddin suggested a new "CPHY" option be added as a valid value for the AMI Reserved Parameter Modulation. He suggested that EDA tools should consider returning an error if the user attempted a statistical simulation with C-phy, unless and until the tools have come up with sophisticated methods for this. He said statistical simulation for a correlated triplet like C-phy is non- trivial. For a given triplet, he proposed an enumeration/ordering scheme for the three lines. Once this is established, we'd have the first 3 impulse response matrices as the through-channel IRs. The next 6 would be the 3 choose 2 = C(3,2) = 6 distinct internal crosstalk terms for that triplet itself. Any crosstalk from an adjacent C-phy triplet would add 9 more crosstalk terms. The tool could use this assembled matrix of response terms to generate the triplet of waveform outputs at the end of the 3-wire channel. AMI_GetWave() would take a triplet of waveforms as inputs and outputs. Walter summarized Alaeddin's suggestions. He said the lines are just 3 independent single-ended channels, and the characterization of the channels just involves computing the channels' responses and the crosstalk responses between them. Arpad said they're not really independent channels, as they're all tied via resistors to a common node. Walter asked to set that complication aside for the time being. Assuming we are able to create the 3x3 impulse matrix somehow and then process it through AMI_Init(), doing a time domain simulation will require 3 stimulus waveforms and 3 waveforms into AMI_GetWave() instead of one. Walter said if these assumptions are true, then we start to understand the magnitude of the required changes. Walter and Ambrish agreed that generating the three stimuli is not trivial, as they're correlated and not just independent random patterns. The EDA tool has to generate the 3 stimulus waveforms given one incoming bit pattern. Walter said we will need to think about how to generate the IR matrix. Ambrish said he thought AMI would be the simplest way to support C-Phy, given that it already supports equalization, low BER extrapolation, etc. Ambrish said the one issue that troubled him was generating the channel characterization, given the unique issues with supporting the ramp rates for the transitions and the terminations within the IBIS model. Alaeddin said you would need a sophisticated SPICE simulation to extract those edge rates to include in the IBIS model. He said given that we are supporting DDR without introducing separate rising/falling responses into AMI, he hoped that the LTI assumption would be sufficient for C-phy too. Walter asked if Alaeddin would be able to create a document describing how to take an S-parameter for the interconnect (3-wire lane) and generate the impulse responses for the AMI_Init() function. Also, given a PRBS signal as an input, how would you generate the 3 stimuli that feed the 3 Txs? Arpad expressed concerns about the LTI assumption. He noted the previous comment that AMI still only supports a single edge response. Referring to his slide 13 containing circuit diagrams and edge rates for the various transitions, he noted that the differences in the edge rates between various transitions were crucial to C-phy operation. Even the zero crossings that define the trigger points for the eye diagrams depend on those different edge rates. Ambrish and Alaeddin said this could be handled by the EDA tool when it creates the input to the Tx AMI_GetWave(). Walter said that if the LTI assumption holds, then all of those edges can be assumed to have the same slope. Arpad said we will have to think about this. - Ambrish: Motion to adjourn. - Walter: Second. - Arpad: Thank you all for joining. New ARs: Arpad: Send his C-phy presentation and Alaeddin's to the ATM list. ------------- Next meeting: 25 June 2024 12:00pm PT ------------- IBIS Interconnect SPICE Wish List: 1) Simulator directives